/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package uk.ac.aber.compsci.se3920.groupA.Tests;

import uk.ac.aber.compsci.se3920.groupA.Tests.MockTypes.Meeting;

/**
 *
 * @author rob
 */
public class Config {
    public static final String DEPT_COMPSCI = "CompSci";
    public static final String DEPT_PHYSICS = "Physics";
    public static final String DEPT_ENGLISH = "English";
    public static final String EQUIP_PROJECTOR = "Projector";
    public static final String EQUIP_WIRELESS = "Wifi Access";
    public static final String EQUIP_COMPUTER = "Computer";
    public static final String EQUIP_DICTIONARY = "Dictionary";
    
    //Meeting Parameters to be changed at compile time
    //private int meetingDurationInHours = 9;
    private int meetingAttendance = 10;
    private String[] meetingEquipment = {Config.EQUIP_PROJECTOR,Config.EQUIP_DICTIONARY};
    
    //Runtime Code - Please dont modify without a reason!
    //Added Saturday so tests run as I'm writing code on sat!
    
    private String defaultWorkingWeekDays = "monday tuesday wednesday thursday friday saturday";
    private int defaultWorkingDayStartHour = 9;
    private int defaultWorkingDayEndHour = 18;
    private int numDaysToGenerate = 0; //zero indexed
    private int minutes_of_candidate = 20; //MUST BE LESS THAN 60;
    private int numCandidatesToMeetingDuration;
    private boolean workingDayPrinted = false;
    public static final int ACTIVE_PREF_SCORE = 5;
    
    private Meeting m;
    
//    public Config(){
//        m = new Meeting();
//        m.setMeetingAttendance(meetingAttendance);
//        m.setMeetingDurationInHours(meetingDurationInHours);
//        m.setMeetingEquipment(meetingEquipment);
//    }
    
    public Config(int meetingDuration, int attendance, String[] equipment){
        m = new Meeting();
        m.setMeetingAttendance(attendance);
        m.setMeetingDurationInHours(meetingDuration);
        m.setMeetingEquipment(equipment);
        numCandidatesToMeetingDuration = ((meetingDuration * 60) / minutes_of_candidate);
    }
    
    public Meeting getMeeting(){
        return m;
    }

    public String getDefaultWorkingWeekDays() {
        return defaultWorkingWeekDays;
    }

    public void setDefaultWorkingWeekDays(String defaultWorkingWeekDays) {
        this.defaultWorkingWeekDays = defaultWorkingWeekDays;
    }

    public int getDefaultWorkingDayStartHour() {
        return defaultWorkingDayStartHour;
    }

    public void setDefaultWorkingDayStartHour(int defaultWorkingDayStartHour) {
        this.defaultWorkingDayStartHour = defaultWorkingDayStartHour;
    }

    public int getDefaultWorkingDayEndHour() {
        return defaultWorkingDayEndHour;
    }

    public void setDefaultWorkingDayEndHour(int defaultWorkingDayEndHour) {
        this.defaultWorkingDayEndHour = defaultWorkingDayEndHour;
    }

    public int getNumDaysToGenerate() {
        return numDaysToGenerate;
    }

    public void setNumDaysToGenerate(int numDaysToGenerate) {
        this.numDaysToGenerate = numDaysToGenerate;
    }

    public int getMinutes_of_candidate() {
        return minutes_of_candidate;
    }

    public void setMinutes_of_candidate(int minutes_of_candidate) {
        this.minutes_of_candidate = minutes_of_candidate;
    }

    public int getMeetingDuration() {
        return getNumCandidatesToMeetingDuration();
    }

    public void setMeetingDuration(int meetingDuration) {
    //    this//.meetingDurationInHours = meetingDuration;
        
    }

    public boolean isWorkingDayPrinted() {
        return workingDayPrinted;
    }

    public void setWorkingDayPrinted(boolean workingDayPrinted) {
        this.workingDayPrinted = workingDayPrinted;
    //    numCandidatesToMeetingDuration = ((meetingDurationInHours * 60) / minutes_of_candidate);
   //     this.m.setMeetingDurationInHours(meetingDurationInHours);
    }

    public int getNumCandidatesToMeetingDuration() {
        return numCandidatesToMeetingDuration;
    }
    
    
}
